This disclosure relates generally to management of service flow system, and more specifically, to adjustment of a task execution plan at runtime.
In a service flow system with the relatively complex service demands, it may be demanding to design and maintain the service flow system. A task-oriented design method may be used in a service flow system. A task is similar to a flow fragment, and may be simple and directly targeted. The task-oriented design system may reduce the complexity of a traditional service flow system and provide more flexibility during design and running of the service flow system.
Because a task is only a relatively small, simple portion of the whole service flow, a task cannot satisfy the entire demand on the service flow, and coordination between tasks is necessary. During implementation of some task execution engines, which may also be referred to as flow engines, coordination between tasks may be generally defined during the flow design procedure. A task may define an event type that is a precondition for the task. Another task may trigger the precondition event so that the task may be initiated. The relationship between an event-triggering task (also called a source task) and an event task (also called an objective task) must be defined during designing of the service flow system.
However, in a task execution engine, it may be difficult to dynamically adjust a task execution plan after the relationships have been defined. For example, in the education field, when some students are poor in a certain subject or desire for a further improvement, they have to get help on this subject. At this point, a teacher may formulate a study improvement plan according to the actual conditions of the students. This plan may include various tasks, for example, communicating with students' parents, discussing with subject experts, scheduling students' curriculum, mid-term testing, and evaluation on teachers. Because different plans may comprise different tasks, and the sequence between tasks may not be identical, and the tasks themselves may not be all defined in advance, it may be difficult to predict all possible combinations when designing a flow for the student improvement plan with a traditional task execution engine and design tools. Due to a relatively large number of task combinations, a designers or developers cannot impose too many restrictions and introduce significant complex control logics during designing, such that the traditional task execution engine and design tools cannot directly solve such a problem during the design procedure.